using System;
using RestSharp;
class Program
{
static void Main()
{
// 创建一个新的RestClient实例,使用目标URL
var client = new RestClient("https://www.example.com");
// 创建一个新的RestRequest实例,使用GET方法
var request = new RestRequest(Method.GET);
// 执行请求并获取响应
IRestResponse response = client.Execute(request);
// 检查请求是否成功
if (response.IsSuccessful)
{
// 打印响应的HTML内容
Console.WriteLine(response.Content);
}
else
{
Console.WriteLine("无法获取内容");
}
}
}
解析HTML内容
接下来,我们将使用HtmlAgilityPack来解析HTML内容并提取所需信息。
csharpCopy
using HtmlAgilityPack;
using System;
using RestSharp;
class Program
{
static void Main()
{
// 创建一个新的RestClient实例,使用目标URL
var client = new RestClient("https://www.example.com");
// 创建一个新的RestRequest实例,使用GET方法
var request = new RestRequest(Method.GET);
// 执行请求并获取响应
IRestResponse response = client.Execute(request);
// 检查请求是否成功
if (response.IsSuccessful)
{
// 将HTML内容加载到HtmlDocument中
var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(response.Content);
// 选择匹配指定XPath查询的节点
var nodes = htmlDoc.DocumentNode.SelectNodes("//h1");
// 遍历选定的节点并打印其内部文本
foreach (var node in nodes)
{
Console.WriteLine(node.InnerText);
}
}
else
{
Console.WriteLine("无法获取内容");
}
}
}
using HtmlAgilityPack;
using System;
using RestSharp;
class Program
{
static void Main()
{
// 创建一个新的RestClient实例,使用目标URL
var client = new RestClient("https://www.example.com/blog");
// 创建一个新的RestRequest实例,使用GET方法
var request = new RestRequest(Method.GET);
// 执行请求并获取响应
IRestResponse response = client.Execute(request);
// 检查请求是否成功
if (response.IsSuccessful)
{
// 将HTML内容加载到HtmlDocument中
var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(response.Content);
// 选择匹配指定XPath查询的节点
var nodes = htmlDoc.DocumentNode.SelectNodes("//div[@class='post']");
// 遍历选定的节点并提取标题和链接
foreach (var node in nodes)
{
var titleNode = node.SelectSingleNode(".//h2/a");
var title = titleNode.InnerText;
var link = titleNode.Attributes["href"].Value;
Console.WriteLine("标题: " + title);
Console.WriteLine("链接: " + link);
Console.WriteLine();
}
}
else
{
Console.WriteLine("无法获取内容");
}
}
}